Referring now to FIG. 1, first and second network devices 50 and 54 communicate over a medium 58. The network device 50 typically includes a medium access control (MAC) device 64 and a physical layer (PHY) device 68. The PHY device 68 may include an autonegotiation circuit 70. The network device 54 also includes a medium access control (MAC) device 74 and a physical layer (PHY) device 78. The PHY device 78 also may include an autonegotiation circuit 80. The medium 58 may be cable that includes two or more twisted pairs of wire.
In general, the network devices 50 and 54 are connected together by the medium 58. Once connected, the physical layer devices 68 and 78 attempt to establish a link so that data can be exchanged. Initially, the network devices 50 and 54 exchange link code words, which contain link parameters that relate to the abilities of the sending network device. Based on the received link parameters, the network devices 50 and 54 attempt to negotiate common link parameters such as link speed. One of the network devices may be designated a master and the other may be designated a slave. A common clock signal may be derived based on signals generated by the master, as will be described further below.
IEEE section 802.3 and 802.3ab, which are both hereby incorporated by reference in their entirety, specify media types and other procedures for establishing links at data rates including 10 Mb/s, 100 Mb/s and 1000 Mb/s. For example, 1000BASE-T supports 1000 Mb/s data rates over four twisted pairs.
A receiver in the PHY devices 68 and 78 uses an scr_status parameter and the state of certain equalization, cancellation, and estimation functions to determine receiver performance quality. A loc_rcvr_status signal is generated to reflect the determined receiver performance quality. The loc_rcvr_status signal is used in the synchronization process between master and slave devices in accordance with FIGS. 40-15 (PHY Control State Diagram) of IEEE Std. 802.3, and is used to generate a 1000BASE-T link in accordance with FIGS. 40-16 (Link Monitor State Diagram) of IEEE Std. 802.3.
One of the devices is designated a “master” device that provides a clock signal that is acquired by the other or “slave” device during link negotiation. Both the master and the slave devices start in a “disable 1000BASE-T transmitter state” upon reset. After link negotiation, the devices enter a “slave silent” state. A signal corresponding to local receive status, i.e., loc_rcvr_status, is forced to a state corresponding to “not OK.”
To the master, the “local” receive status refers to the status of the receiver in the master device. To the slave, the “local” receive status refers to the status of the receiver in the slave. A “remote” receiver status for the master refers to the status of the receiver in the slave, while a “remote” receive status for the slave refers to the status of the receiver in the master.
The specification also requires a “min” timer that establishes a predetermined time period. A device returns to the “slave silent state” if, after the predetermined time period, a device is in the “send idle or data state,” the local receive status is not OK, and the transmitter of the device is not transmitting. In such a case, the local transmitter is responsive to a signal from the local receiver to transmit zeros, or an equivalent signal.
The master device will proceed directly from the “slave silent state” to a “training state,” in which the master device starts transmitting idle code groups via the interconnecting cable to the slave device. These idle code groups comprise code groups recognizable by the slave device as valid code groups. A slave device, on the other hand, remains in the “slave silent” state until it is able to extract scrambler data from the master.
Once the slave device is locked, it asserts “SCR status OK” and enters the “training state.” The slave then begins transmitting idle code groups (recognizable to the master as such) while the master is still in the training state. When the slave starts transmitting, the master decodes the idle code groups being sent by the slave. The idle code groups sent by the slave are encoded with symbols that are interpreted as a remote receive status by the master. When the master acquires the scrambler data and decodes the receive status, it goes from a “training state” to a “send idle or data” state, where it remains unless a fault occurs.
At this point, the master has set both the local receive status OK and the remote receive status OK, and can then start sending idle code groups with an encoded remote status, which is decoded by the slave. The slave, which already has local receive status set to OK, then sets the remote receive status to OK and enters the “send idle or data” state. At this point, both the master and slave can start transmitting data that is ready to be sent at the negotiated speed.
Faults can develop in the signal path between the master and slave. For example, the cable or pairs thereof between the master and the slave may break. In this case, the receiver of each network device may receive data from its own transmitter. Other examples of faults may occur because a remote transmitter becomes faulty or a local receiver becomes faulty. In these latter cases, code groups are not properly decoded by the local receiver and the link will go down. When the link goes down, autonegotiation is initiated and the process of establishing a link is repeated. Only after the link has been brought down is any attempt made to resynchronize the link.